var dataImportTimer = null;
var dataImportOldFileInfo = '';//上一个文件信息
var dataImportCnt = 1;
var dataImportFileCnt = 0;//文件个数
var dataImportInfo = null;

$(function(){
	drgUI.tips();
	var drgVersion = "";//分组器版本
	var calculateType = "";//计算标杆类型
	var manageType = "";//绩效比类型
	var stdType = "";//标杆比类型
	//获取分组器版本
	$.post(contextPath+"/DRGVersion/findAllVersion.dhc").done(function(result){
		var groupVerData = result.data
		var groupVerStr = "";
		for(var i = 0;i<groupVerData.length;i++)
		{
			groupVerStr += '<option value="'+groupVerData[i].verCode+'">'+groupVerData[i].verDesc+'</option>';
		}
		$("#"+tabId+" #groupVer").append(groupVerStr);
		$('#'+tabId+' #groupVer').off('change');
		$('#'+tabId+' #groupVer').on('change',function(){
			drgVersion = $(this).val();
		});
		drgVersion = $('#'+tabId+' #groupVer').val();
	});
	//获取标杆类型
	$.post(contextPath+"/dictionaryData/getDictionaryDataByCode.dhc",{"dicCode":"AS_STD_TYPE"}).done(function(result){
		var data=result.data;
		var strOption;
		if(data != null && data != undefined){
			for(var i=0;i<data.length; i++){
				 strOption += '<option value="'+data[i].DICVALUE+'">'+data[i].DICDESC+'</option>';
			}
		}else{
			strOption='<option value="">无数据</option>';
		}
		$('#'+tabId+' #stdType').html(strOption);
		$('#'+tabId+' #stdType').off('change');
		$('#'+tabId+' #stdType').on('change',function(){
			calculateType = $(this).val();
		});
		calculateType = $('#'+tabId+' #stdType').val();
	});
	
	//获取绩效标杆的类型
	$.post(contextPath+"/dictionaryData/getDictionaryDataByCode.dhc",{"dicCode":"MANAGE_TARGET"}).done(function(result){
		var data=result.data;
		var strOption;
		
		if(data && data.length>0){
			for(var i=0;i<data.length; i++){
				 strOption += '<option value="'+data[i].DICVALUE+'">'+data[i].DICDESC+'</option>';
			}
		}else{
			strOption='<option value="">未维护</option>';
			drgUI.warning("请于字典管理维护标杆机构信息",3000) ;
		}
		$('#'+tabId+' #manager_type_id').html(strOption);
	});
	
	//获取标杆比的类型
	$.post(contextPath+"/dictionaryData/getDictionaryDataByCode.dhc",{"dicCode":"STD_TARGET"}).done(function(result){
		var data=result.data;
		var strOption;
		if(data  && data.length>0){
			for(var i=0;i<data.length; i++){
				 strOption += '<option value="'+data[i].DICVALUE+'">'+data[i].DICDESC+'</option>';
			}
		}else{
			strOption='<option value="">未维护</option>';
			drgUI.warning("请于字典管理维护标杆机构信息",3000) ;
		}
		$('#'+tabId+' #std_type_id').html(strOption);
	});
	
	tabId=$("#tabContent > .tab-pane.active").attr("id");
	//计算标杆数据上传控件
	$('#'+tabId+' #calculateBenchmark').uploadifive({
			'uploadScript' : contextPath + '/fileUpload/filesUpload.dhc',
	        'height': 37,
	        'width' :196,
	        'auto'  : true,//是否自动开始
	        'uploadLimit' : 100, //一次同步上传的文件数目     
	        'fileSizeLimit' : '500MB', //单个文件大小，0为无限制，可接受KB,MB,GB等单位的字符串值     
	        'queueSizeLimit' : 100, //队列中同时存在的文件个数限制
	        'fileObjName':'file',
	        'removeCompleted': true,  //是否完成后移除序列，默认为true
	        'removeTimeout' : '5',  //上传完成后队列多长时间后消失。默认 3秒    需要：removeCompleted : true,时使用
	        'progressData' :'percentage',//设置上传进度显示方式，percentage显示上传百分比，speed显示上传速度
	        'buttonText' : '<i class="fa fa-folder-open fa-lg"></i>&nbsp;&nbsp;选择计算标杆值',
	        'buttonClass': 'uploadifyH5_btn',
	        'fileType' : '*.xls; *.xlsx; *.xml; *.dbf',//允许上传的文件格式
	        'multi'    : true,//是否支持多文件上传
	        'method'   :'post',//提交方式
	        'debug':false,
	        //当点击文件队列中文件的关闭按钮或点击取消上传时触发
	        'onCancel': function(){ },
	      	//返回一个错误，选择文件的时候触发  
	        'onSelectError':  function(){
	           drgUI.error('文件上传失败!');
	        },
	      	//检测FLASH失败调用  
	        'onFallback':function(){  
 				drgUI.error('浏览器检测不到兼容版本的HTML5');
	        }, 
	        'onUpload'     : function(filesToUpload) {
	        },
	        'onUploadError' : uploadify_onUploadError,
	        'onQueueComplete':function(queueData){
	        	drgUI.bindAjaxStart(0);
	        	closeBgDiv();
	        	showBgDiv();//显示遮罩层
	        	getProgress();
	        	$.post(contextPath+'/fileUpload/importCalculateBenchmark.dhc',
	        			{drgVersion:drgVersion,calculateType:calculateType
	        		}).done(function(result){
	        	});
	        }
	    });
	
	//绩效标杆数据上传控件
	$('#'+tabId+' #performanceBenchmark').uploadifive ({
		'uploadScript' : contextPath + '/fileUpload/filesUpload.dhc',
        'height': 37,
        'width' :196,
        'auto'  : true,//是否自动开始
        'uploadLimit' : 100, //一次同步上传的文件数目     
        'fileSizeLimit' : '500MB', //单个文件大小，0为无限制，可接受KB,MB,GB等单位的字符串值     
        'queueSizeLimit' : 100, //队列中同时存在的文件个数限制
        'fileObjName':'file',
        'removeCompleted': true,  //是否完成后移除序列，默认为true
        'removeTimeout' : '5',  //上传完成后队列多长时间后消失。默认 3秒    需要：removeCompleted : true,时使用
        'progressData' :'percentage',//设置上传进度显示方式，percentage显示上传百分比，speed显示上传速度
        'buttonText' : '<i class="fa fa-folder-open fa-lg"></i>&nbsp;&nbsp;选择绩效比值',
        'buttonClass': 'uploadifyH5_btn',
        'fileType' : '*.xls; *.xlsx; *.xml; *.dbf',//允许上传的文件格式
        'multi'    : true,//是否支持多文件上传
        'method'   :'post',//提交方式
        'debug':false,
        //当点击文件队列中文件的关闭按钮或点击取消上传时触发
        'onCancel': function() {} ,
      	//返回一个错误，选择文件的时候触发  
        'onSelectError':  function(){
             drgUI.error('文件上传失败！');
        },
      	//检测FLASH失败调用  
        'onFallback':function() {  
             drgUI.error('浏览器检测不到兼容版本的HTML5');
        }, 
        'onUpload'     : function(filesToUpload) {
        },
        'onUploadError' : uploadify_onUploadError,
        'onQueueComplete':function(queueData){
        	drgUI.bindAjaxStart(0);
        	closeBgDiv();
        	showBgDiv();
        	getProgress();
        	//后台解析数据
            $.ajax({
       		 url :contextPath+'/fileUpload/importPerformanceBenchmark.dhc',
       		 data : {
       			 "parMscode":$('#'+tabId+' #manager_type_id').val() 
       		 },
       		 type:'post',
       		 dataType : "html",//这里的dataType就是返回回来的数据格式了html,xml,json
       		 cache: false,//设置是否缓存，默认设置成为true，当需要每次刷新都需要执行数据库操作的话，需要设置成为false
       		 success : function(html) {
       		 }
          });
        }
    });
	
	//外部标杆数据上传控件
	$('#'+tabId+' #externalBenchmark').uploadifive({
		'uploadScript' : contextPath + '/fileUpload/filesUpload.dhc',
        'height': 37,
        'width' :196,
        'auto'  : true,//是否自动开始
        'uploadLimit' : 100, //一次同步上传的文件数目     
        'fileSizeLimit' : '500MB', //单个文件大小，0为无限制，可接受KB,MB,GB等单位的字符串值     
        'queueSizeLimit' : 100, //队列中同时存在的文件个数限制
        'fileObjName':'file',
        'removeCompleted': true,  //是否完成后移除序列，默认为true
        'removeTimeout' : '5',  //上传完成后队列多长时间后消失。默认 3秒    需要：removeCompleted : true,时使用
        'progressData' :'percentage',//设置上传进度显示方式，percentage显示上传百分比，speed显示上传速度
        'buttonText' : '<i class="fa fa-folder-open fa-lg"></i>&nbsp;&nbsp;选择标杆比值',
        'buttonClass': 'uploadifyH5_btn',
        'fileType' : '*.xls; *.xlsx; *.xml; *.dbf',//允许上传的文件格式
        'multi'    : true,//是否支持多文件上传
        'method'   :'post',//提交方式
        'debug':false,
        //当点击文件队列中文件的关闭按钮或点击取消上传时触发
        'onCancel': function(){ },
      	//返回一个错误，选择文件的时候触发  
        'onSelectError':  function() {
            drgUI.error('文件上传失败!');
        },
      	//检测FLASH失败调用  
        'onFallback':function() {
             drgUI.error('浏览器检测不到兼容版本的HTML5');
        }, 
        'onUploadError' : uploadify_onUploadError,
        'onQueueComplete':function(queueData){
        	drgUI.bindAjaxStart(0);
        	closeBgDiv();
        	showBgDiv();//显示遮罩层
        	getProgress();
            $.ajax({
	       		 url :contextPath+'/fileUpload/importExternalBenchmarkData.dhc',
	       		 data : {
	    			 "parMscode":$('#'+tabId+' #std_type_id').val() 
	       		 },
	       		 type:'post',
	       		 dataType : "html",//这里的dataType就是返回回来的数据格式了html,xml,json
	       		 cache: false,//设置是否缓存，默认设置成为true，当需要每次刷新都需要执行数据库操作的话，需要设置成为false
	       		 success : function(html) {
	       		 }
           });
        }
    });
	// 上传按钮小手悬浮
	$("[type=file]").css("cursor","pointer");
})

$(window).resize(function(){
	consoleHeight = $('#console_drgs').height();
});
 
/**
 * 
 * @@returns
 * @any
 * @ Discription:获取后台数据处理进度和详情
 * @benchmark.js
 */
function getProgress() {
	 timerStart();
	 var message="";
	 var timerId = setInterval(function(){
		$.get(contextPath+"/fileUpload/uploadProgress.dhc").done(function(result){
			var info=result.data;
			if(message!=info.msg){
				message=info.msg;
				$('#'+tabId+' #progress_info').html(message);
			}
			$('#'+tabId+' #progress_info_detail').html('<p>'+info.detail+'</p>');
			$('#'+tabId+' .progress-bar').css('width',info.percent+'%');
			$('#'+tabId+' .progress-bar span').html(info.percent+'%');			
			// 完成
			if (info.stateInfo=='1' ) {
				clearInterval(timeShow);
				clearInterval(timerId);
                drgUI.bindAjaxStart(1);
				$('#'+tabId+' #progress_info').append('<p style="color:#5FBF18;"><i class="fa fa-smile-o fa-2x"></i></p>');
				$('#'+tabId+' #progress_info').append('<p></p>');
				$('#'+tabId+' #close_loading_btn').css('display','');
				
			} 
		});
	}, 500)
}
/**
 * 
 * @@returns
 * @any
 * @ Discription:启动遮罩
 * @benchmark.js
 */
function showBgDiv(){
	$('#'+tabId+' #close_loading_btn').css('display','none');
	$('#'+tabId+' #import_loading').css('display','block');
	$('#'+tabId+' #con').css('-webkit-filter','blur(8px)');
	$('#'+tabId+' #con').css('filter','blur(8px)');
}

/**
 * 
 * @@returns
 * @any
 * @ Discription:关闭遮罩
 * @benchmark.js
 */
function closeBgDiv(){	
	//初始化遮罩层内容
	$('#'+tabId+' #import_loading').css('display','');
	$('#'+tabId+' #con').css('-webkit-filter','');	
	$('#'+tabId+' #con').css('filter','');//删除模糊效果
	$('#'+tabId+' #progress_info').html('');
	$('#'+tabId+' #progress_info_detail').html('');	
	$('#'+tabId+' .progress-bar').css('width','0%');
	$('#'+tabId+' .progress-bar span').html('');
}
var timeShow;
function timerStart(){
	var h = 0;
	var m = 0;
	var s = 0;
	timeShow = setInterval(function(){
		s++;
		if (s==60) {
			s=0;
			m++;
		}
		if (m==60) {
			m=0;
			h++;
		}
		$('#'+tabId+' #progress_usedtime').html(h+':'+m+':'+s);
	}, 1000)
}
